package com.mes.cloud.service.impl;

import com.mes.cloud.enums.ValidatorMsgEnums;
import com.mes.cloud.enums.ValidatorParamEnum;
import com.mes.cloud.service.ValidatorService;
import com.mes.cloud.util.VadatorParam;
import org.springframework.stereotype.Service;

import java.util.Map;
/**
 * @ProjectName: cloud
 * @Package: com.mes.cloud.service.impl
 * @ClassName: IntegerValidatorServiceImpl
 * @Author: xhy
 * @Description: 判断view页面的值判断是否整数的判断
 * 一般有:
 * integer //请输入整数
 * integer[*] //请输入整数
 * integer[+] //请输入正整数
 * integer[+0] //请输入正整数或0
 * integer[-] //请输入负整数
 * integer[-0] //请输入负整数或0
 * @Date: 2019年9月23日15:17:54
 * @Version: 1.0
 */
@Service("integer")
public class IntegerValidatorServiceImpl implements ValidatorService {
    @Override
    public String validator(String type, Object o, Map<String, Object> queryMap){
        //由于这里只是校验是否为空 可以在这里进行直接校验，
        // 其他的需要逻辑的可以同下面方法进行验证
        //下面这个方法是最终的校验方法 如果有动态的
        String methodName = type.toLowerCase();
        String ValidatorParam = ValidatorParamEnum.getDesc(methodName);
        //可以对动态的校验进行处理
        boolean flage = new VadatorParam(o, ValidatorParam).invoke();
        return flage==true?null: ValidatorMsgEnums.getDesc(methodName);
    }
}
